package cn.fl.project.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.base.lnkcomp.transform.BasePrjLnkCompCrLimVOTransform;
import cn.fl.project.vo.PrjLnkCompCrLimVO;
import fl.spl.facade.lnkcomp.dto.PrjLnkCompCrLimDTO;

import java.util.ArrayList;
import java.util.List;


/**
 * @Description: 挂靠公司授信额度 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据
 * @Description: VO转换数据变成DTO传递到服务端
 * @Description: VO不能在服务端出现
 */
public class PrjLnkCompCrLimVOTransform extends BasePrjLnkCompCrLimVOTransform {


    /**
     * DTO 转  VO
     *
     * @param dto PrjLnkCompCrLimDTO
     * @return PrjLnkCompCrLimVO
     */
    public static PrjLnkCompCrLimVO toVO(PrjLnkCompCrLimDTO dto) {
        PrjLnkCompCrLimVO vo = baseToVO(dto);
        if (dto != null) {
            vo.setpInstId(dto.getpInstId());
            vo.setpNo(dto.getpNo());
            vo.setApplyDt(dto.getApplyDt());
            vo.setIsHisNm(dto.getIsHisNm());
            vo.setAudStsCd(dto.getAudStsCd());
            vo.setAudStsCdNm(dto.getAudStsCdNm());
        }
        return vo;
    }

    /**
     * VO 转 DTO
     *
     * @param vo PrjLnkCompCrLimVO
     * @return PrjLnkCompCrLimDTO
     */
    public static PrjLnkCompCrLimDTO toDTO(PrjLnkCompCrLimVO vo) {
        PrjLnkCompCrLimDTO dto = baseToDTO(vo);
        if (vo != null) {
            dto.setpInstId(vo.getpInstId());
            dto.setpNo(vo.getpNo());
            dto.setApplyDt(vo.getApplyDt());
            dto.setIsHisNm(vo.getIsHisNm());
            dto.setAudStsCd(vo.getAudStsCd());
            dto.setAudStsCdNm(vo.getAudStsCdNm());
        }
        return dto;
    }

    /**
     * DTO集合 转 VO集合
     *
     * @param list List<PrjLnkCompCrLimDTO>
     * @return List<PrjLnkCompCrLimVO>
     */
    public static List<PrjLnkCompCrLimVO> toVOList(List<PrjLnkCompCrLimDTO> list) {
        List<PrjLnkCompCrLimVO> voList = new ArrayList<PrjLnkCompCrLimVO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (PrjLnkCompCrLimDTO dto : list) {
                voList.add(toVO(dto));
            }
        }
        return voList;
    }

    /**
     * VO集合 转 DTO集合
     *
     * @param list List<PrjLnkCompCrLimVO>
     * @return List<PrjLnkCompCrLimDTO>
     */
    public static List<PrjLnkCompCrLimDTO> toDTOList(List<PrjLnkCompCrLimVO> list) {
        List<PrjLnkCompCrLimDTO> dtoList = new ArrayList<PrjLnkCompCrLimDTO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (PrjLnkCompCrLimVO vo : list) {
                dtoList.add(toDTO(vo));
            }
        }
        return dtoList;
    }
}
